IP Library Granted Patent US 10,291,912
Granted Patent B2
US 10,291,912 · App. 14/760,514 · Granted May 14, 2019

Context determination for entropy coding of run-length encoded transform coefficients

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,291,912
App. No.
14/760,514
Granted
May 14, 2019
Kind
B2
Abstract

Methods and devices for encoding and decoding video using mode-dependent context determination in the case of level-run pair coding of transform coefficients are described. Intra-coding modes may be grouped into classes and each class may be associated with a partitioning of a coefficient group into regions. The region in which a coefficient falls determines, in part, the context selected for encoding bins associated with that coefficient, including a level, if the coefficient is non-zero, and a run if the coefficient correspond to the bin of a binarized run value.

Claims (38)

1. A method of decoding video from a bitstream of encoded video using a video decoder, the video including a picture partitioned into blocks, the method comprising:

for a coefficient group of a plurality of non-overlapping coefficient groups within a transform block, the transform block corresponding to one of the blocks of the picture:

decoding data identifying an intra-coding mode used in generating the transform block;

partitioning the coefficient group into regions based on the intra-coding mode used in generating the transform block; and

entropy decoding a bin for reconstructing the coefficients of the coefficient group, wherein the entropy decoding includes determining a context based upon in which of the regions of the coefficient group a coefficient associated with that bin is located.

2. The method claimed in claim 1 , wherein the video decoder is configured to use a plurality of intra-coding modes, wherein the plurality of intra-coding modes are grouped into classes, and wherein identifying includes identifying the class that the identified intra-coding mode belongs to.

3. The method claimed in claim 2 , wherein each class has a respective predefined partition for partitioning coefficient groups into regions, and wherein partitioning the coefficient group comprises using the predefined partition associated with the identified class.

4. The method claimed in claim 2 , wherein the classes include a vertical class, a horizontal class, and a diagonal class.

5. The method claimed in claim 4 , wherein the horizontal class is associated with a partition that divides the coefficient group into two regions using a vertical line.

6. The method claimed in claim 4 , wherein the vertical class is associated with a partition that divides the coefficient group into two regions using a horizontal line.

7. The method claimed in claim 1 , wherein the bin comprises a bin of a binarized level value, and wherein one of the regions is associated with that bin on the basis that a non-zero coefficient corresponding to that level value is located in said one of the regions.

8. The method claimed in claim 1 , wherein the bin comprises a bin of a binarized run value.

9. The method claimed in claim 8 , wherein the bins of the binarized run value are mapped one-to-one to coefficients in a reverse scan order starting from a current non-zero coefficient, and wherein one of the regions is associated with one of the bins on the basis that the coefficient mapped to said one of the bins is located in said one of the regions.

10. The method claimed in claim 1 , further comprising decoding last position information regarding a last non-zero coefficient in scan order within the coefficient group, wherein the decoding last position information occurs prior to said entropy decoding.

11. A decoder for decoding a bitstream of encoded video, the decoder comprising:

a processor;

a memory; and

a decoding application stored in memory and containing instructions for configuring the processor to perform the method claimed in claim 1 .

12. A non-transitory processor-readable medium storing processor-executable instructions which, when executed, configures one or more processors to perform the method claimed in claim 1 .

13. A method of encoding video using a video encoder, the video including a picture partitioned into blocks, the method comprising:

generating residual data for one of the blocks of the picture from spatial prediction of that block using an intra-coding mode;

spectrally transforming the residual data to obtain a transform block of transform coefficients corresponding to the one of the blocks of the picture, the transform block being further partitioned into a plurality of non-overlapping coefficient groups;

level-run coding the transform coefficients of one of the coefficient groups to generate level-run pairs; and

binarizing and entropy coding the level-run pairs, including determining a context for each bin of the binarized level-run pairs, wherein the one of the coefficient groups is partitioned into regions based on the intra-coding mode, and wherein determining the context for a bin is at least partly based upon in which of the regions of the coefficient group a coefficient associated with that bin is located.

14. The method claimed in claim 13 , wherein the intra-coding mode is selected from among a plurality of intra-coding modes, wherein the plurality of intra-coding modes are grouped into classes, and wherein determining the context includes determining how the coefficient group is partitioned into regions based on to which class the intra-coding mode belongs.

15. The method claimed in claim 14 , wherein each class has a respective predefined partition for partitioning coefficient groups into regions.

16. The method claimed in claim 14 , wherein the classes include a vertical class, a horizontal class, and a diagonal class.

17. The method claimed in claim 16 , wherein the horizontal class is associated with a partition that divides the coefficient group into two regions using a vertical line.

18. The method claimed in claim 16 , wherein the vertical class is associated with a partition that divides the coefficient group into two regions using a horizontal line.

19. The method claimed in claim 13 , wherein the bin comprises a bin of a binarized level value, and wherein one of the regions is associated with that bin on the basis that a non-zero coefficient corresponding to that level value is located in said one of the regions.

20. The method claimed in claim 13 , wherein the bin comprises a bin of a binarized run value.

21. The method claimed in claim 20 , wherein the bins of the binarized run value are mapped one-to-one to coefficients in a reverse scan order starting from a current non-zero coefficient, and wherein one of the regions is associated with one of the bins on the basis that the coefficient mapped to said one of the bins is located in said one of the regions.

22. The method claimed in claim 13 , further comprising encoding last position information regarding a last non-zero coefficient in scan order within the coefficient group, and wherein the encoding last position information occurs prior to said binarizing and entropy decoding.

23. A encoder for encoding a video in a video encoder, the encoder comprising:

a processor;

a memory; and

an encoding application stored in memory and containing instructions for configuring the processor to perform the method claimed in claim 13 .

24. A non-transitory processor-readable medium storing processor-executable instructions which, when executed, configures one or more processors to perform the method claimed in claim 13 .

Assignments (8)
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 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 →
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 →
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 →
CHANGE OF NAME Recorded Jul 17, 2015
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 036129/0453 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2015
From: HE, DAKE; JI, TIANYING; WANG, JING; WANG, XIAOFENG
To: RESEARCH IN MOTION LIMITED
Reel/Frame 036066/0695 →