IP Library Granted Patent US 9,264,722
Granted Patent B2
US 9,264,722 · App. 14/583,947 · Granted Feb 16, 2016

Methods and devices for encoding and decoding transform domain filters

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,264,722
App. No.
14/583,947
Granted
Feb 16, 2016
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 (59)

1. A method of encoding a block of samples in an encoder, the method comprising:

determining a prediction block for predicting the block of samples;

spectrally transforming the block of samples to generate a transformed original block of samples;

spectrally transforming the prediction block to generate a transformed prediction block;

determining a set of filter coefficients based the transformed prediction block and the transformed original block of samples; and

encoding the set of filter coefficients and a quantized transformed residual block in a bitstream of encoded data,

whereby the set of filter coefficients are used for transform domain filtering during reconstruction of the block of samples.

2. 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.

3. The method claimed in claim 1 , wherein determining a set of filter coefficients includes determining the set of filter coefficients based upon a sum of transformed prediction blocks and a sum of transformed original blocks of samples from a plurality of blocks of samples.

4. The method claimed in claim 3 , wherein the plurality of blocks of samples form one of a coding unit, a frame, a picture, or a group of pictures.

5. The method claimed in claim 3 , wherein the set of filter coefficients is determined as the minimum of a sum of the absolute value squared of the difference between the transformed original blocks of samples and a product, wherein the product comprises the filter coefficients times the sum of the transformed prediction blocks and dequantized quantized transformed residual blocks.

6. The method claimed in claim 3 , wherein the set of filter coefficients is determined as the ratio of the sum of the transformed original blocks of samples to the sum of the transformed prediction blocks.

7. The method claimed in claim 3 , wherein the set of filter coefficients is determined as the ratio of:

the sum of the transformed original blocks of samples to

the sum of the transformed prediction blocks and dequantized quantized transformed residual blocks.

8. The method claimed in claim 1 , further comprising:

determining a residual block as the difference between the block of samples and the prediction block;

transforming the residual block to generate a transformed residual block; and

quantizing the transformed residual block to create the quantized transformed residual block.

9. The method claimed in claim 1 , further comprising:

determining a transformed residual block as the difference between the transformed original block of samples and the transformed prediction block; and

quantizing the transformed residual block to create the quantized transformed residual block.

10. The method claimed in claim 1 , further comprising filtering the transformed prediction bock using the set of filter coefficients to create a filtered transformed prediction block, determining a transformed residual block based on the transformed original block and the filtered transformed prediction block, and quantizing the transformed residual block to generate the quantized transformed residual block.

11. An encoder, comprising:

memory storing a block of samples to be encoded;

a processor;

an encoding application containing processor-executable instructions which, when executed by the processor cause the processor to:

determine a prediction block for predicting the block of samples,

spectrally transform the block of samples to generate a transformed original block of samples,

spectrally transform the prediction block to generate a transformed prediction block,

determine a set of filter coefficients based the transformed prediction block and the transformed original block of samples, and

encode the set of filter coefficients and a quantized transformed residual block in a bitstream of encoded data,

whereby the set of filter coefficients are used for transform domain filtering during reconstruction of the block of samples.

12. The encoder claimed in claim 11 , 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.

13. The encoder claimed in claim 11 , wherein the processor determines a set of filter coefficients by determining the set of filter coefficients based upon a sum of transformed prediction blocks and a sum of transformed original blocks of samples from a plurality of blocks of samples.

14. The encoder claimed in claim 13 , wherein the plurality of blocks of samples form one of a coding unit, a frame, a picture, or a group of pictures.

15. The encoder claimed in claim 13 , wherein the set of filter coefficients is determined as the minimum of a sum of the absolute value squared of the difference between the transformed original blocks of samples and a product, wherein the product comprises the filter coefficients times the sum of the transformed prediction blocks and dequantized quantized transformed residual blocks.

16. The encoder claimed in claim 13 , wherein the set of filter coefficients is determined as the ratio of the sum of the transformed original blocks of samples to the sum of the transformed prediction blocks.

17. The encoder claimed in claim 13 , wherein the set of filter coefficients is determined as the ratio of:

the sum of the transformed original blocks of samples to

the sum of the transformed prediction blocks and dequantized quantized transformed residual blocks.

18. The encoder claimed in claim 13 , wherein the instructions, when executed further cause the processor to:

determine a residual block as the difference between the block of samples and the prediction block;

transform the residual block to generate a transformed residual block; and

quantize the transformed residual block to create the quantized transformed residual block.

19. The encoder claimed in claim 13 , wherein the instructions, when executed, further cause the processor to:

determine a transformed residual block as the difference between the transformed original block of samples and the transformed prediction block; and

quantize the transformed residual block to create the quantized transformed residual block.

20. The encoder claimed in claim 13 , wherein the instructions, when executed, further cause the processor to:

filter the transformed prediction bock using the set of filter coefficients to create a filtered transformed prediction block;

determine a transformed residual block based on the transformed original block and the filtered transformed prediction block; and

quantize the transformed residual block to generate the quantized transformed residual block.

21. A non-transitory computer-readable medium storing computer-executable instructions for encoding a block of samples, wherein the instructions, when executed by a processor, cause the processor to:

determine a prediction block for predicting the block of samples,

spectrally transform the block of samples to generate a transformed original block of samples,

spectrally transform the prediction block to generate a transformed prediction block,

determine a set of filter coefficients based the transformed prediction block and the transformed original block of samples, and

encode the set of filter coefficients and a quantized transformed residual block in a bitstream of encoded data,

whereby the set of filter coefficients are used for transform domain filtering during reconstruction of the block of samples.

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 Nov 3, 2015
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 037033/0643 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2014
From: WANG, JING; YU, XIANG; HE, DAKE; CAMPBELL, STEVEN WAYNE
To: SLIPSTREAM DATA INC.
Reel/Frame 034599/0551 →