IP Library Granted Patent US 10,708,626
Granted Patent B2
US 10,708,626 · App. 16/299,275 · Granted Jul 7, 2020

Iterative IDCT with adaptive non-linear filtering

Inventors: Jan Wassenberg (Zürich, CH); Jyrki Alakuijala (Wollerau, CH); Sami Boukortt (Zürich, CH)
Assignee: GOOGLE LLC
H04N19/86H04N19/117H04N19/124H04N19/14H04N19/176
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,708,626
App. No.
16/299,275
Granted
Jul 7, 2020
Kind
B2
Abstract

A method for decoding an image block includes receiving a quantized transform block; generating a decoded block from the quantized transform block; applying an edge-preserving filter to the decoded block, to obtain an edge-filtered decoded block; obtaining a transformed edge-preserved block using a transform type and quantization data to the edge-filtered decoded block; clamping a value of the transformed edge-preserved block to a corresponding value of the quantized transform block to obtain a smoothed transform block; and inverse transforming the smoothed transform block to obtain an edge-preserved smoothed block. The applying an edge-preserving filter to the decoded block includes determining respective patch-based distances between a pixel of the decoded block and neighboring pixels; determining respective weights corresponding to the respective patch-based distances; and filtering the pixel using the respective weights and the neighboring pixels.

Claims (54)

1. A method for decoding an image block, the method comprising:

receiving a quantized transform block,

wherein an encoder used quantization data and a transform type in generating the quantized transform block;

inverse-quantizing the quantized transform block to obtain a decoded block;

applying an edge-preserving filter to the decoded block, to obtain an edge-filtered decoded block, by steps comprising:

determining respective patch-based distances between a pixel of the decoded block and neighboring pixels;

determining respective weights corresponding to the respective patch-based distances; and

filtering the pixel using the respective weights and the neighboring pixels;

obtaining a transformed edge-preserved block by applying the transform type and the quantization data to the edge-filtered decoded block;

clamping, in a frequency domain, a value of the transformed edge-preserved block to a corresponding value of the quantized transform block to obtain a smoothed transform block; and

after the clamping, inverse transforming, using the transform type and the quantization data, the smoothed transform block to obtain an edge-preserved smoothed block.

2. The method of claim 1 , wherein the quantization data comprises an adaptive quantization field data.

3. The method of claim 1 , wherein the transform type is a discrete cosine transform (DCT).

4. The method of claim 1 , wherein determining the respective patch-based distances between the pixel of the decoded block and the neighboring pixels comprising:

determining an L1 distance between a patch that is centered at the pixel and a neighboring pixel of the neighboring pixels.

5. The method of claim 1 , wherein determining the respective weights corresponding to the respective patch-based distances comprises:

determining a weight corresponding to a patch-based distance only on condition that the patch-based distance exceeds a threshold value.

6. The method of claim 1 , wherein a patch size for determining the respective patch-based distances is selected based on hardware instructions.

7. The method of claim 1 , wherein clamping the value of the transformed edge-preserved block to the corresponding value of the quantized transform block to obtain the smoothed transform block comprises:

applying asymmetric clamping to the value of the transformed edge-preserved block.

8. An apparatus for decoding an image block, comprising:

a memory; and

a processor, the processor configured to execute instructions stored in the memory to:

receive a quantized transform block,

wherein an encoder used quantization data and a transform type in generating the quantized transform block;

inverse-quantizing the quantized transform block to obtain a decoded block;

apply an edge-preserving filter to the decoded block to obtain an edge-filtered decoded block;

obtain a transformed edge-preserved block by applying the transform type and the quantization data to the edge-filtered decoded block;

clamp a value of the transformed edge-preserved block to a corresponding value of the quantized transform block to obtain a smoothed transform block; and

after the clamping, inverse transform, using the transform type and the quantization data, the smoothed transform block to obtain an edge-preserved smoothed block.

9. The apparatus of claim 8 , wherein the quantization data comprises an adaptive quantization field data.

10. The apparatus of claim 8 , wherein the transform type is a discrete cosine transform (DCT).

11. The apparatus of claim 8 , wherein to determine the respective patch-based distances between the pixel of the decoded block and the neighboring pixels comprise to:

determine an L1 distance between a patch that is centered at the pixel and a neighboring pixel of the neighboring pixels.

12. The apparatus of claim 8 , wherein to determine the respective weights corresponding to the respective patch-based distances comprises to:

determine a weight corresponding to a patch-based distance only on condition that the patch-based distance exceeds a threshold value.

13. The apparatus of claim 8 , wherein a patch size for determining the respective patch-based distances is selected based on hardware instructions.

14. The apparatus of claim 8 , wherein to clamp the value of the transformed edge-preserved block to the corresponding value of the quantized transform block to obtain the smoothed transform block comprises to:

apply asymmetric clamping to the value of the transformed edge-preserved block.

15. An apparatus that decodes an image block, the apparatus:

receives a quantized transform block,

wherein an encoder used quantization data and a transform type in generating the quantized transform block;

inverse-quantizing the quantized transform block to obtain a decoded block;

applies an edge-preserving filter to the decoded block to obtain an edge-filtered decoded;

obtains a transformed edge-preserved block using the transform type and the quantization data to the edge-filtered decoded block;

clamps a value of the transformed edge-preserved block to a corresponding value of the quantized transform block to obtain a smoothed transform block; and

after the clamping, inverse transforms, using the transform type and the quantization data, the smoothed transform block to obtain an edge-preserved smoothed block.

16. The apparatus of claim 15 , wherein the quantization data comprises an adaptive quantization field data.

17. The apparatus of claim 15 , wherein the transform type is a discrete cosine transform (DCT).

18. The apparatus of claim 15 , wherein to determine the respective patch-based distances between the pixel of the decoded block and the neighboring pixels comprise to:

determine an L1 distance between a patch that is centered at the pixel and a neighboring pixel of the neighboring pixels.

19. The apparatus of claim 15 , wherein to determine the respective weights corresponding to the respective patch-based distances comprises to:

determine a weight corresponding to a patch-based distance only on condition that the patch-based distance exceeds a threshold value.

20. The apparatus of claim 15 , wherein a patch size for determining the respective patch-based distances is selected based on hardware instructions of the apparatus.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2019
From: WASSENBERG, JAN; ALAKUIJALA, JYRKI; BOUKORTT, SAMI
To: GOOGLE LLC
Reel/Frame 048569/0620 →
Continuity (2)
Provisional Application 62769086 · Nov 19, 2018
Related Publication 20200162760A1 · May 21, 2020