IP Library Granted Patent US 10,743,028
Granted Patent B2
US 10,743,028 · App. 15/894,085 · Granted Aug 11, 2020

Multiple sign bit hiding within a transform unit

Inventors: Jing Wang (Waterloo, CA); Xiang Yu (Kitchener, CA); Dake He (Waterloo, CA)
Assignee: Velos Media, LLC
H04N19/625H04N11/02H04N11/04H04N19/129H04N19/176H04N19/40H04N19/51H04N19/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 10,743,028
App. No.
15/894,085
Granted
Aug 11, 2020
Kind
B2
Abstract

Methods of encoding and decoding for video data are described for encoding or decoding coefficients for a transform unit. In particular, the sign bits for the non-zero coefficients are encoded using sign bit hiding. Two or more sets of coefficients are defined for the transform unit and a sign bit may be hidden for each set, subject to satisfaction of a threshold test. The sets may correspond to coefficient groups that are otherwise used in multi-level significance map encoding and decoding.

Claims (30)

1. A method of decoding a bitstream of encoded video by reconstructing coefficients for a transform unit, wherein the transform unit is partitioned into a plurality of coefficient groups each containing a respective set of coefficients, and each of the non-zero coefficients having a sign bit indicating whether the coefficient is positive or negative, the method comprising:

for each coefficient group of the plurality of coefficient groups:

determining whether to use sign bit hiding to decode a sign bit for a syntax element in the coefficient group based on whether a count of coefficients between a first non-zero coefficient in the coefficient group and a last non-zero coefficient in the coefficient group exceeds a threshold;

when it is determined that sign bit hiding is to be used for the coefficient group:

summing an absolute value of the coefficients in the coefficient group, and

based on whether the absolute value is even or odd, assigning a sign to-the sign bit for-the syntax element in the coefficient group.

2. The method claimed in claim 1 , wherein the syntax element is a sign bit of a coefficient in another coefficient group in the transform unit.

3. The method claimed in claim 1 , wherein determining to use sign bit hiding to decode a sign bit for a syntax element in the coefficient group comprises determining to use sign bit hiding when the count of non-zero coefficients in the coefficient group exceeds the threshold.

4. The method claimed in claim 1 , wherein determining whether to use sign bit hiding to decode a sign bit for a syntax element in the coefficient group further includes determining whether the sum of the absolute value of the coefficients in that coefficient group exceeds a second threshold value.

5. The method claimed in claim 1 , wherein determining to use sign bit hiding for decoding comprises determining that the coefficient group contains at least a threshold number of coefficients within that coefficient group between a first non-zero coefficient in that coefficient group and last non-zero coefficient in that coefficient group, in a scan order within that coefficient group.

6. The method claimed in claim 5 , wherein determining to use sign bit hiding for decoding comprises determining that an adjacent coefficient group contains at least one non-zero coefficient, with the adjacent coefficient group comprising either of a coefficient group to the right or a coefficient group below a current coefficient group.

7. A decoder for decoding a bitstream of encoded video by reconstructing coefficients for a transform unit, wherein the transform unit is partitioned into a plurality of coefficient groups each containing a respective set of coefficients, and each of the non-zero coefficients having a sign bit indicating whether the coefficient is positive or negative, the decoder comprising:

a processor;

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

for each coefficient group of the plurality of coefficient groups:

determine, for a coefficient group in the transform unit, whether to use sign bit hiding to decode a sign bit for a syntax element in the coefficient group based on whether a count of coefficients between a first non-zero coefficient in the coefficient group and a last non-zero coefficient in the coefficient group exceeds a threshold; and

when it is determined that sign bit hiding is to be used for the coefficient group:

sum an absolute value of the coefficients in the coefficient group, and

based on whether the absolute value is even or odd, assign a sign to the sign bit for the syntax element in the coefficient group.

8. The decoder claimed in claim 7 , wherein the syntax element is a sign bit of a coefficient in another coefficient group in the transform unit.

9. The decoder claimed in claim 7 , wherein determining to use sign bit hiding comprises determining to use sign bit hiding when the count of non-zero coefficients in that coefficient group exceeds the threshold.

10. The decoder claimed in claim 9 , wherein the instructions cause the processor to determine to use sign bit hiding by further determining that the sum of the absolute value of the coefficients in the coefficient group exceeds a threshold value.

11. The decoder claimed in claim 7 , wherein the instructions cause the processor to determine to use sign bit hiding by determining that the coefficient group contains at least a threshold number of coefficients within that coefficient group between a first non-zero coefficient in that coefficient group and last non-zero coefficient in that coefficient group, in a scan order within that coefficient group.

12. The decoder claimed in claim 11 , wherein the instructions cause the processor to determine to use sign bit hiding by determining that an adjacent coefficient group contains at least one non-zero coefficient, with the adjacent coefficient group comprising either of the coefficient group to the right or the coefficient group below a current coefficient group.

13. A non-transitory processor-readable medium storing processor-executable instructions, which, when executed, configures one or more processors to decode a bitstream of encoded video by reconstructing coefficients for a transform unit, wherein the transform unit is partitioned into a plurality of coefficient groups each containing a respective set of coefficients, and each of the non-zero coefficients having a sign bit indicating whether the coefficient is positive or negative, and wherein the instructions further cause the processor to:

for each coefficient group in the plurality of coefficient groups:

determine whether to use sign bit hiding to decode a sign bit for a syntax element in the coefficient group based on whether a count of coefficients between a first non-zero coefficient in the coefficient group and a last non-zero coefficient in the coefficient group exceeds a threshold; and

when it is determined that sign bit hiding is to be used for the coefficient group:

sum an absolute value of the coefficients in the coefficient group, and

based on whether the absolute value is even or odd, assign a sign to the sign bit for-the syntax element in the coefficient group.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2018
From: BLACKBERRY LIMITED
To: VELOS MEDIA, LLC
Reel/Frame 047525/0606 →
CHANGE OF NAME Recorded Feb 14, 2018
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 045335/0614 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2018
From: WANG, JING; YU, XIANG; HE, DAKE
To: SLIPSTREAM DATA INC.
Reel/Frame 044898/0287 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2018
From: SLIPSTREAM DATA INC.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 044898/0363 →