IP Library Granted Patent US 8,942,495
Granted Patent B2
US 8,942,495 · App. 13/681,551 · Granted Jan 27, 2015

Methods and devices for encoding and decoding transform domain filters

Inventors: Jing Wang (Waterloo, CA); Xiang Yu (Kitchener, CA); Dake He (Waterloo, CA); Steven Wayne Campbell (Kitchener, CA)
Assignee: BlackBerry Limited
G06T9/004H04N19/00066H04N19/00351H04N19/00812H04N19/00896
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 8,942,495
App. No.
13/681,551
Granted
Jan 27, 2015
Kind
B2
Abstract

Methods and devices for encoding and decoding data using transform domain filtering are described. The encoder determines a set of transform domain filter coefficients to be applied to a transform domain prediction. The filtering may, in some cases, also apply to transform domain reconstructions. Rate-distortion optimization may be used to determine the optimal filter coefficients on a frame-basis, coding-unit-basis, or other basis. Multiple filters may be developed and communicated from the encoder to the decoder for different combinations of transform block size, coding mode, prediction mode, and texture type. In other cases, the filtering is applied in the pixel-domain to a pixel-domain prediction or a pixel-domain reconstruction of a block of samples.

Claims (40)

1. A method of reconstructing a block of samples from a bitstream of encoded data in a decoder, the method comprising:

reconstructing a spectrally transformed prediction block of samples associated with the block of samples;

reading filter-type flags from the bitstream, wherein the filter-type flags identify one or more filter types;

for each of the filter types identified, decoding a set of filter coefficients from the bitstream; and

calculating a filtered transform domain reconstruction by applying, to at least a portion of the transformed prediction block, one of the sets of filter coefficients based on its filter type matching characteristics associated with the block of samples.

2. The method claimed in claim 1 , wherein calculating includes determining the characteristics of the block of samples and selecting the one of the sets of filter coefficients based on its filter type matching the characteristics.

3. The method claimed in claim 1 , wherein the filter types are based on at least one of transform size, coding mode, prediction mode, and texture type.

4. The method claimed in claim 1 , wherein the characteristics include motion vector characteristics, and wherein the filter types include two or more filter types applicable to respective groups of inter-coded blocks, and wherein each respective group of inter-coded blocks is associated with a respective group of motion vector characteristics.

5. The method claimed in claim 1 , wherein the characteristics include directional prediction modes, and wherein the filter types include two or more filter types applicable to respective groups of intra-coded blocks, and wherein each respective group of intra-coded blocks is associated with a group of directional prediction modes.

6. The method claimed in claim 1 , wherein the set of filter coefficients defines a filter, wherein the set of filter coefficients includes a coefficient for each coefficient group in the filter, and wherein at least one coefficient group includes two or more coefficient positions.

7. The method claimed in claim 1 , wherein calculating the filtered transform domain reconstruction comprises calculating a filtered prediction by scaling at least a portion of the transformed prediction block by the filter coefficients and dequantizing a block of quantized transform domain coefficients, and wherein the filtered transform domain reconstruction comprises the sum of the filtered prediction and the dequantized block of transform domain coefficients.

8. The method claimed in claim 1 , wherein calculating the filtered transform domain reconstruction comprises:

dequantizing a block of quantized transform domain coefficients;

calculating a transform domain reconstruction block as the transformed prediction block plus the dequantized block of transform domain coefficients; and

scaling the transform domain reconstruction block using the filter coefficients.

9. A non-transitory computer-readable medium storing computer-executable instructions which, when executed by a processor, configure the processor to perform the method claimed in claim 1 .

10. A method of reconstructing a block of samples from a bitstream of encoded data in a decoder, the method comprising:

reconstructing a prediction block of samples associated with the block of samples;

reading filter-type flags from the bitstream, wherein the filter-type flags identify one or more filter types;

for each of the filter types identified, decoding a set of filter coefficients from the bitstream; and

calculating a filtered pixel-domain reconstruction by applying, to at least a portion of the prediction block, one of the sets of filter coefficients based on its filter type matching characteristic associated with the block of samples.

11. A non-transitory computer-readable medium storing computer-executable instructions which, when executed by a processor, configure the processor to perform the method claimed in claim 10 .

12. A decoder, comprising:

a processor;

a memory; and

a decoding application stored in memory and containing instructions for configuring the processor to

reconstruct a spectrally transformed prediction block of samples associated with the block of samples;

read filter-type flags from the bitstream, wherein the filter-type flags identify one or more filter types;

for each of the filter types identified, decode a set of filter coefficients from the bitstream; and

calculate a filtered transform domain reconstruction by applying, to at least a portion of the transformed prediction block, one of the sets of filter coefficients based on its filter type matching characteristics associated with the block of samples.

13. The decoder claimed in claim 12 , wherein the processor is configured to calculate the filtered transform domain reconstruction by determining the characteristics of the block of samples and selecting the one of the sets of filter coefficients based on its filter type matching the characteristics.

14. The decoder claimed in claim 12 , wherein the filter types are based on at least one of transform size, coding mode, prediction mode, and texture type.

15. The decoder claimed in claim 12 , wherein the characteristics include motion vector characteristics, and wherein the filter types include two or more filter types applicable to respective groups of inter-coded blocks, and wherein each respective group of inter-coded blocks is associated with a respective group of motion vector characteristics.

16. The decoder claimed in claim 12 , wherein the characteristics include directional prediction modes, and wherein the filter types include two or more filter types applicable to respective groups of intra-coded blocks, and wherein each respective group of intra-coded blocks is associated with a group of directional prediction modes.

17. The decoder claimed in claim 12 , wherein the set of filter coefficients defines a filter, wherein the set of filter coefficients includes a coefficient for each coefficient group in the filter, and wherein at least one coefficient group includes two or more coefficient positions.

18. The decoder claimed in claim 12 , wherein the processor is configured to calculate the filtered transform domain reconstruction by calculating a filtered prediction by scaling at least a portion of the transformed prediction block by the filter coefficients and dequantizing a block of quantized transform domain coefficients, and wherein the filtered transform domain reconstruction comprises the sum of the filtered prediction and the dequantized block of transform domain coefficients.

19. The decoder claimed in claim 12 , wherein the processor is configured to calculate the filtered transform domain reconstruction by:

dequantizing a block of quantized transform domain coefficients;

calculating a transform domain reconstruction block as the transformed prediction block plus the dequantized block of transform domain coefficients; and

scaling the transform domain reconstruction block using the filter coefficients.

Assignments (9)
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 Oct 20, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 034016/0419 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2013
From: SLIPSTREAM DATA INC.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 030777/0937 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2013
From: WANG, JING; YU, XIANG; HE, DAKE; CAMPBELL, STEVEN WAYNE
To: SLIPSTREAM DATA INC.
Reel/Frame 030602/0061 →
Continuity (2)
Provisional Application 61562294 · Nov 21, 2011
Related Publication 20130129241A1 · May 23, 2013