IP Library Granted Patent US 9,681,152
Granted Patent B2
US 9,681,152 · App. 14/942,296 · Granted Jun 13, 2017

Coding position data for the last non-zero transform coefficient in a coefficient group

Inventors: Jing Wang (Waterloo, CA); Xiaofeng Wang (Toronto, CA); Dake He (Waterloo, CA); Tianying Ji (Toronto, CA)
Assignee: BlackBerry Limited
H04N19/593H04N19/103H04N19/122H04N19/129H04N19/13H04N19/157H04N19/159H04N19/176H04N19/18H04N19/423H04N19/44H04N19/513H04N19/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 9,681,152
App. No.
14/942,296
Granted
Jun 13, 2017
Kind
B2
Abstract

Methods and devices for video coding are described. When encoding a non-zero coefficient group (CG) prior to the last such group in a group scan ordering within a transform block, data representative of the true (x,y)-position of the last non-zero transform coefficient in a scan ordering within that CG is modified, to improve coding efficiency, based upon at least one of (a) an intra-prediction mode used to encode the block and (b) at least one coefficient group neighboring that CG. Upon decoding a CG thus encoded, the modification is un-done to retrieve the true (x,y)-position.

Claims (47)

1. A decoder, the decoder comprising:

one or more processors;

a memory; and

a decoding application stored in the memory and executable by said one or more processors to reconstruct a current block of residual data from an encoded block of residual data in a bitstream of encoded video, the current block partitioned into coefficient groups, each coefficient group comprising transform coefficients, wherein, when executed for a current coefficient group, which is a non-zero coefficient group prior to the last non-zero coefficient group in a group scan ordering of the coefficient groups within the current block, the application:

decodes coordinates (X, Y) representative of the true (x,y)-position, in the current coefficient group, of the last non-zero transform coefficient in a scan ordering of the transform coefficients in the current coefficient group, and

applies a non-identity modification to the coordinates (X, Y) to compute the true (x,y)-position of the last non-zero transform coefficient, wherein the modification is based upon at least one of: an intra-prediction mode used in generating the encoded block; and at least one coefficient group neighbouring the current coefficient group.

2. The decoder of claim 1 , wherein the current coefficient group has size 4×4, and wherein the modification includes one or both of: converting the coordinate X to 3−X; and converting the coordinate Y to 3−Y.

3. The decoder of claim 1 , wherein the modification is based upon a classification of the mode.

4. The decoder of claim 3 , wherein the application, when executed, further:

decodes data indicating the mode; and

determines the classification of the mode.

5. The decoder of claim 3 , wherein the current coefficient group has size 4×4, and wherein the modification comprises:

if the mode is in a diagonal class, converting the coordinates (X, Y) to (3−X, 3−Y);

if the mode is in a vertical class, converting the coordinates (X, Y) to (3−X, Y); and

if the mode is a horizontal class, converting the coordinates (X, Y) to (X, 3−Y).

6. The decoder of claim 3 , wherein the current coefficient group has size 4×4, and wherein the modification comprises:

if the mode is in a diagonal class, converting the coordinates (X, Y) to (3−X, 3−Y); and

if the mode is in a horizontal or vertical class, converting the coordinates (X, Y) to (3−X, Y).

7. The decoder of claim 6 , wherein if the mode is horizontal the current coefficient group is transposed prior to reconstruction.

8. The decoder of claim 3 , wherein the current coefficient group has size 4×4, and wherein the modification comprises:

if the mode is in a diagonal class, converting the coordinates (X, Y) to (3−X, 3−Y); and

if the mode is in a horizontal or vertical class, converting the coordinates (X, Y) to (X, 3−Y).

9. The decoder of claim 8 , wherein if the mode is vertical the current coefficient group is transposed prior to reconstruction.

10. The decoder of claim 1 , wherein at least one of the neighbouring coefficient group right of the current coefficient group and the neighbouring coefficient group below the current coefficient group comprises a non-zero coefficient group, and wherein the modification is based upon at least one of said neighbouring coefficient groups.

11. The decoder of claim 10 , wherein the current coefficient group has size 4×4, and wherein the modification comprises:

if the neighbouring coefficient group right of the current coefficient group is a zero coefficient group and the neighbouring coefficient group below the current coefficient group is a non-zero coefficient group, converting the coordinates (X, Y) to (X, 3−Y);

if the neighbouring coefficient group right of the current coefficient group is a non-zero coefficient group and the neighbouring coefficient group below the current coefficient group is a zero coefficient group, converting the coordinates (X, Y) to (3−X, Y); and

if the neighbouring coefficient group right of the current coefficient group and the neighbouring coefficient group below the current coefficient group are both non-zero coefficient groups, converting the coordinates (X, Y) to (3−X, 3−Y).

12. The decoder of claim 1 , wherein the current coefficient group has size 4×4, wherein the neighbouring coefficient group right of the current coefficient group and the neighbouring coefficient group below the current coefficient group are both zero coefficient groups, wherein the mode is in one of a horizontal class and a vertical class; and wherein the modification comprises:

if the mode is in a vertical class, converting the coordinates (X, Y) to (3−X, Y); and

if the mode is in a horizontal class, converting the coordinates (X, Y) to (X, 3−Y).

13. The decoder of claim 1 , wherein the group scan ordering comprises an ordering of the coefficient groups in the current block, starting from the upper-left-most coefficient group; and wherein the coefficient groups of the block are decoded by the decoder in the reverse of the group scan ordering.

14. The decoder of claim 13 , wherein the group scan ordering comprises a zig-zag ordering.

15. The decoder of claim 1 , wherein the scan ordering comprises an ordering of transform coefficients in each coefficient group, starting from the upper-left-most transform coefficient in the group, and wherein level, run, and sign data for the transform coefficients in each coefficient group are decoded by the decoder in the reverse of the scan ordering.

16. The decoder of claim 15 , wherein the scan ordering comprises a zig-zag ordering.

17. The decoder of claim 1 , wherein decoding coordinates (X, Y) is based upon a context derived at least in part from to which of three regions, into which the coefficient groups of the current block have been partitioned, the current coefficient group belongs.

18. The decoder of claim 17 , wherein the three regions are each transpose-invariant.

19. The decoder of claim 18 ,

wherein the coefficient groups are arranged in rows and columns within the current block;

wherein one of the three regions consists of the coefficient groups in both the top row and the left column;

wherein another of the three regions consists of the coefficient groups in neither the top row nor the left column; and

wherein the remaining one of the three regions consists of the coefficient groups in either the top row or the left column, but not both.

20. A decoder for reconstructing a current block of residual data, from an encoded block of residual data in a bitstream of encoded video, the current block partitioned into coefficient groups, each coefficient group comprising transform coefficients, the coefficients groups including a current coefficient group, which is a non-zero coefficient group prior to the last non-zero coefficient group in a group scan ordering of the coefficient groups within the current block, the decoder including:

processing means for executing instructions;

memory means for storing data;

means for decoding coordinates (X, Y) representative of the true (x,y)-position, in the current coefficient group, of the last non-zero transform coefficient in a scan ordering of the transform coefficients in the current coefficient group; and

means for applying a non-identity modification to the coordinates (X, Y) to compute the true (x,y)-position of the last non-zero transform coefficient, wherein the modification is based upon at least one of: an intra-prediction mode used in generating the encoded block; and at least one coefficient group neighbouring the current coefficient group.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDED PATENT NUMBER TO REMOVE PATENT NO. 8,873,407 AT PREVIOUSLY RECORDED ON REEL 64066 FRAME 1. ASSIGNOR(S) HEREBY CONFIRMS THE NUNC PRO TUNC ASSIGNMENT EFFECTIVE DATE MARCH 20, 2023. Recorded Feb 2, 2026
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 074921/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE COVER SHEET AT PAGE 50 TO REMOVE 12817157 PREVIOUSLY RECORDED ON REEL 063471 FRAME 0474. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 064806/0669 →
CORRECTIVE ASSIGNMENT TO CORRECT 12817157 APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 064015 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064807/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064066/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 16, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064015/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 063471/0474 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2015
From: JI, TIANYING; HE, DAKE; WANG, JING; WANG, XIAOFENG
To: BLACKBERRY LIMITED
Reel/Frame 037054/0621 →
Continuity (2)
Continuation 14031393 · Sep 19, 2013
Related Publication 20160073130A1 · Mar 10, 2016